A backup environment includes clients accessing server computers for data. The same data may be stored in different server computers. However, existing backup infrastructure designs use flawed and limited approaches to scaling the backup environment.
One conventional approach relies on shifting to larger hardware in a “scale up” technique, which does not translate well into modern commodity based computing environments, such as those used by public cloud providers.
For those environments that do scale out, another conventional approach relies on a head server computer that centrally handles the scheduling and distribution of work among the server computers (e.g., requests from the clients), but, if the head server computer becomes unavailable, the entire backup environment becomes unusable.